As a P4 Developer Engineer, you will play a key role in developing, optimizing, and configuring drivers for modern hardware architectures, ensuring they deliver top-tier performance. You’ll work on designing new features, implementing APIs, and enabling efficient network packet paths within devices. This role requires a strong understanding of hardware capabilities, along with the ability to translate user requirements into effective software solutions. You will leverage advanced network hardware architecture, including P4 applications, while collaborating closely with cross-functional R&D teams.
Key Responsibilities:
- Driver Development for Modern Hardware Architectures: Develop and maintain drivers tailored to modern hardware platforms, focusing on stability, reliability, and adaptability to new architectural advancements.
- Optimize Driver Configuration: Configure device drivers to maximize performance, implementing best practices and optimizations to achieve efficient resource utilization.
- Feature Design and API Implementation: Design new software features to extend driver capabilities and develop corresponding APIs to allow seamless integration with other systems and applications.
- Enable Network Packet Paths: Work on enabling and optimizing network packet flow within devices, ensuring efficient handling of network traffic.
- User Needs and Hardware Capability Analysis: Analyze user requirements alongside hardware specifications, ensuring software design aligns with both user expectations and hardware limitations.
- Utilize Network Hardware and P4 Applications: Apply advanced networking hardware techniques and utilize P4 applications to improve device functionality and performance.
- Collaborate with R&D Teams: Engage closely with other research and development teams to ensure cohesive development practices and alignment on project goals.
Qualifications:
- Experience: Experienced embedded systems development, with a strong focus on driver development.
- Technical Skills:
- C++ Proficiency: Extensive experience with C++ for driver development, with a deep understanding of best practices and optimization techniques.
- Linux Expertise: Strong command of Linux systems, including driver development and configuration in Linux environments.
- Python Testing Experience: Familiarity with Python for testing and validation purposes, with the ability to write test scripts and automate testing processes.
- Network Protocol Knowledge: Understanding of Layer 2 (L2) and Layer 3 (L3) network protocols is advantageous and would enhance capabilities in network packet path optimization.
- Education: A relevant university degree in Computer Science, Electrical Engineering, or a related field.
- Soft Skills:
- Strong communication skills, enabling effective collaboration with team members and stakeholders.
- Proficiency in both spoken and written English, ensuring clear and concise communication.
This role is ideal for someone with a passion for embedded systems and driver development, who is excited about working on cutting-edge hardware solutions and making impactful contributions to modern network architecture.